package swapper.model.dao;

import java.util.List;
import org.hibernate.Criteria;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import swapper.model.bean.Pessoa;
/**
 *
 * @author Valentino
 */
public class PessoaDao extends HibernateDaoSupport implements IDao{
    
     @Override
    public Object addNew(Object obj) {
        return (Pessoa) getHibernateTemplate().save((Pessoa) obj);
    }

    @Override
    public void delete(Object obj) {
        getHibernateTemplate().delete((Pessoa) obj);
    }

    @Override
    public void update(Object obj) {
        getHibernateTemplate().update((Pessoa) obj);
    }

    @Override
    public List<Object> listAll() {
        return getHibernateTemplate().find("from Pessoa p");
    }

    @Override
    public Object findByCod(Long codigo) {
        return (Pessoa) getHibernateTemplate().get(Pessoa.class, codigo);
    }

    public Pessoa getByEmail(String email) {
        List lista = getHibernateTemplate().find("from Pessoa where email = '"+email+"'");
        if(lista != null && !lista.isEmpty()){
            return (Pessoa)lista.get(0);
        }
        return null;
    }
    
    @Override
    public List<Object> findByName(String name) {
        return getHibernateTemplate().find("from Pessoa p where p.nome like '%",name+"%'");
    }
    
}
